package modelo

import org.junit.Before
import org.junit.Test
import org.junit.Assert
import exepciones.TerrenoInAdecuadoException

class TestPlantar {
	Jugador jugador
	Sistema sistema
	Jardin jardin
	Planta plantaAgua
	Planta plantaTierra
	
	@Before
	
		def void init(){
			jugador = new Jugador
			sistema = new Sistema(jugador)
		//hay 3 planta x defecto al crear sistema, todas terrestres,
		// con new Sistema se agrega 1 al jugador
		
			jardin = new Jardin(new TerrenoAquatico,new TerrenoAquatico,new TerrenoTerrestre,
			new TerrenoTerrestre,new TerrenoTerrestre)
		/* fila0 acuatico
		 * fila1 acuatico
		 * fila2 terrestre
		 * fila3 terrestre
		 * fila4 terrestre
		 */
			jugador.setJardin(jardin)
		
		
		plantaAgua = sistema.crearPlanta(20,20,"plantita de agua",new TipoAquatico)
		plantaTierra = sistema.crearPlanta(20,20,"plantita terrestre",new TipoTerrestre)
	}
		
	@Test(expected=typeof(TerrenoInAdecuadoException))
	
		def void testeoTerrenoErroneoTierra(){
			
			jugador.setFilaSeleccionada(jardin.dameLaFila(0))//agua
			jugador.setPlantaSeleccionada(plantaTierra)
			jugador.plantarUnaPlanta()
			
		}
	
	@Test(expected=typeof(TerrenoInAdecuadoException))
		def void testeoTerrenoErroneoAgua(){
			
			jugador.setFilaSeleccionada(jardin.dameLaFila(4))//tierra
			jugador.setPlantaSeleccionada(plantaAgua)
			jugador.plantarUnaPlanta()			
			
		}
	}